The present invention relates to user interactive computer supported display technology and particularly to user friendly interactive display interfaces which may be used in the modification of object oriented programs.
The 1990""s decade has been marked by a technological revolution driven by the convergence of the data processing industry with the consumer electronics industry. This advance has been even further accelerated by the extensive consumer and business involvement in the Internet over the past few years. As a result of these changes, it seems as if virtually all business and technology in the industrialized world requires human-computer interfaces.
It has been recognized for over a decade that the interfaces to all aspects of computer driven and directed technology are the key to the future of the technology. Consequently, extensive resources have been applied to the constant improvement of the human-computer interfaces, i.e. making such interfaces more user friendly, more intuitive and easier to learn and remember. This has resulted in greatly increasing the numbers of developers and programmers working on improving interactive display interfaces. Also, with the ever increasing interest in computer games and, more recently, the Internet explosion, greater numbers of developers are directing their resources toward the development of interactive display interfaces in those two consumer areas.
To understand the needs that gave rise to the present invention, it is important to note that users, as well as developers, of object oriented programs often wish to modify existing programs by adding functions to the programs. During the interactive modification of such object oriented programs, the user may require data from the program being modified or added to, which data is not normally accessible from the program. This is particularly true where the users are involved with changes to display interfaces and the data needed is textual. Also, there may be limitations in the program data which may be accessible where the users are working on emulations of the program interfaces provided by the graphics functions of the operating system of the computer display being used in combination with the object oriented program being modified. Since the user or the developer cannot access the program data which he needs through his display interface he would have no direct way of getting additional information about the program should he need it. For example, the developer is working on a display interface to a mainframe computer which is an emulation of an IBM 3270 I/O terminal or writing a particular computer input program and finds that he needs help to understand a term or other aspect of the program on which he is working, he cannot access this through the program itself through his display interface. He has to leave his development function and actively launch a help system within the program. This may be disruptive and awkward but doable where the developer has substantial computer experience. However, in the case of interface developers, they are often involved because of their design rather than computer skills and finding suitable help by launching the actual program could cause them considerable delay.
A copending patent application filed by the present inventors, U.S. Ser. No. 09/121,747, filed on Jul. 21, 1998, provides a solution for developers of interfaces to the traditional process driven nonobject oriented programs, sometimes referred to as legacy programs. That solution involves alternate access to directly inaccessible information through a stored database model of the dynamic data content of the interface. The dynamic data content should be distinguished over the dynamic pixel array content, which is the actual pixel array on the display screen as determined by the frame buffer content. The dynamic data content as tracked by the off-screen database model of the screen is a model of the actual text, graphics, icon or other symbol content of the display which, as such, may be monitored or sensed for particular text or icon content. This dynamic data content is tracked and updated in the database model screen by screen as the display interface is modified in this prior art process.
While this approach has been quite effective in aiding developers of traditional programming, it is not available to developers of object oriented programming, because in object oriented programs there is no stage at which the actual data content of the display interface may be tracked. In object oriented programming, the data defining display screens is directly reduced to the pixel arrays from which the screen element content cannot be determined.
The present invention provides developers and users of object oriented programs who are modifying such programs with alternate access through the interactive display interface to data in such programs which the user or developer requires but is not normally accessible through the display interface to the object oriented program which the user is modifying, e.g., adding function to. Thus, the present invention provides a basic computer controlled display system for adding function to an object oriented program which has means for storing the object oriented program in combination with means for getting normally accessible data from program. There is a user interactive display interface for displaying this normally accessible data. In addition, there are means for adding displayable function to said object oriented program requiring the access of data from said object oriented program other than said normally accessible data together with an accessing object for accessing said other data from said object oriented program. Then, in order to access this other data, there are means for detecting predetermined displayable events in said display interface, means responsive to the detection of a displayable event for triggering said accessing object to access this other data and means for displaying on the display interface, the displayable function being added which required the access of this other data.
These displayable events in the display interface may be visible on the screen when they occur or they may be in portions of the display interface. In a graphical user interface (GUI), although there are many existent elements in the interface, some are covered up, e.g. in an overlapped underlying window. Alternately, the displayable portion of the window is larger than the screen, and, thus, such existent elements are not visible until the user scrolls to them.
The invention may be effectively used when the detected event is text on the screen and particularly displayed text indicates a need for help relative to the displayed text. This text event indicating a need for help may be the result of an interactive user input. Alternatively, the user text input may have an error of a type indicating a need for help. In such a case, the detected event would be the erroneous input. In addition, once accessed, the accessed data may be displayed on the same screen simultaneously with the event which triggered the access.